首先看到這個工具,不得不小小抱怨一下,雖然號稱是強化版Cassandra,但是工具名稱是不是也改一下名字看起來比較專業....
不過也因為如此,在網路上可以找到很多好用的範例。
畢竟Scylla的文件比起Cassandra真的是少的可憐>.<。
Cassandra Stress是一套用來壓測的工具,可以單獨測試read和write,也可以混合在一起測試。在專案開發的初期,可以用來測試建表的設定或機器的穩定度,是一套方便的工具。前面提到Scylla的data model設計是基於會使用到的query,所以直接使用自訂的query語法來測試自己建立的table是否適合,可以達到相當直觀的結論。
以下試著寫一個間單的自訂壓測yalisanda.yaml,先自行建立keyspace與table,針對欄位設定寫入值範圍,然後要用什麼語法查詢。
keyspace: newblood
table: freshliver
columnspec:
- name: department
size: gaussian(5..100)
population: uniform(1..10M)
- name: name
size: gaussian(5..100)
population: uniform(1..10M)
- name: created_date
cluster: fixed(1000)
- name: education
size: uniform(30..300)
- name: intelligene_record
size: gaussian(10..200)
- name: comment
size: uniform(5..20)
insert:
partitions: fixed(1)
select: fixed(1)/1000
batchtype: UNLOGGED
queries:
latestrecord:
cql: select * from freshliver where department = ? LIMIT 1
fields: samerow
bytimeline:
cql: select name,education,intelligene_record,comment, created_date from freshliver where department = ? LIMIT 10
fields: samerow
執行cassandra-stress,並使用剛才建立的yaml檔案。
得到壓測的數據結果。